Systems and methods for identifying potentially interesting events in extended recordings

ABSTRACT

A system may comprise a trigger creation module configured to provide a set of one or more trigger conditions, satisfaction of each trigger condition being based on sensor data to be received. A sensor interface module may be configured to receive actual sensor data from one or more sensors, the actual sensor data being generated contemporaneously with recording of an activity. A trigger satisfaction module may be configured to determine whether at least one trigger condition of the set of trigger conditions has been satisfied based on the actual sensor data. An event identification module may be configured to identify a potentially interesting event within the recording of the activity based on the satisfied at least one trigger condition.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to provisional U.S. PatentApplication Ser. No. 61/820,813, filed May 8, 2013 and entitled “VideoAnalytics for Personalized Recommendations, Tagging and BroadcastingBased on Sensor Data and Machine Learning,” the contents of which arehereby incorporated by reference herein.

TECHNICAL FIELD

The technical field relates to systems and methods to processingrecordings. More particularly, the technical field relates to systemsand methods for identifying potentially interesting events inrecordings.

BACKGROUND

Portable cameras and wearable technology (e.g., portable and wearablecameras) have revolutionized recording of activities. For example,portable cameras have made it possible for cyclists to capturefirst-person perspectives of cycle rides. Portable cameras have alsobeen used to capture unique aviation perspectives, record races, andrecord routine automotive driving. Portable cameras used by athletes,musicians, and spectators often capture first-person viewpoints ofsporting events and concerts. As the convenience and capability ofportable cameras improve, increasingly unique and intimate perspectivesare being captured.

Similarly, wearable technology has enabled the proliferation oftelemetry recorders. Fitness tracking, GPS, biometric information, andthe like enable the incorporation of technology to acquire data onaspects of a person's daily life (e.g., quantified self).

In many situations, however, the length of recordings (i.e., footage)generated by portable cameras and/or sensors may be very long. Peoplewho record an activity often find it difficult to edit long recordingsto find or highlight interesting or significant events. For instance, arecording of a bike ride may involve depictions of long stretches of theroad. The depictions may appear boring or repetitive video content andmay not include the drama or action that characterizes more interestingparts of the ride. Similarly, a recording of a plane flight, a car ride,or a sporting event (such as a baseball game) may depict scenes that areboring or repetitive. Manually searching through long recordings forinteresting events may require an editor to scan all of the footage forthe few interesting events that are worthy showing to others or storingin an edited recording. A person faced with searching and editingfootage of an activity may find the task tedious or may choose not toundertake the task at all.

SUMMARY

A system may comprise a trigger creation module configured to provide aset of one or more trigger conditions, satisfaction of each triggercondition being based on sensor data to be received. A sensor interfacemodule may be configured to receive actual sensor data from one or moresensors, the actual sensor data being generated contemporaneously withrecording of an activity. A trigger satisfaction module may beconfigured to determine whether at least one trigger condition of theset of trigger conditions has been satisfied based on the actual sensordata. An event identification module may be configured to identify apotentially interesting event within the recording of the activity basedon the satisfied at least one trigger condition.

In some embodiments, the trigger satisfaction module is configured tocompare the actual sensor data to a sensor data threshold associatedwith the at least one trigger condition of the set of triggerconditions. The system may include a tagging module configured to tag aportion of the recording associated with the potentially interestingevent. The system may include a sensor configuration module configuredto activate the one or more sensors in response to the trigger creationmodule providing the set of the one or more trigger conditions.

In various embodiments, the system may include a context identificationmodule configured to identify a context, wherein, the trigger creationmodule is configured to identify the set of one or more triggerconditions from a plurality of trigger conditions based at least in parton the context. In embodiments, the trigger satisfaction module may beconfigured to determine whether the trigger has been satisfied based onactual recording metadata. The actual recording metadata may comprise apixel count of at least a portion of the recording of the activity.

In some embodiments, the sensor data to be received comprises one ormore of: Global Positioning System (GPS) sensor data, compass data,accelerometer data, gyroscope data, biometric sensor data, thermometerdata, pressure sensor data, RF data, Geiger counter data, and telemetrysensor data. The sensors may be incorporated into a mobile phone. Themobile phone may be wirelessly coupled to an activity recording deviceconfigured to take the recording of the activity.

In a method, a trigger including set of one or more trigger conditionsmay be provided, where satisfaction of each trigger condition is basedon actual sensor data to be received. Actual sensor data may be receivedfrom one or more sensors, the sensor data being generated substantiallycontemporaneously with recording of an activity. It may be determinedwhether the at least one trigger condition of the set of triggerconditions has been satisfied based on the actual sensor data. Apotentially interesting event may be identified within the recording ofthe activity based on the satisfied at least one trigger condition.

In some embodiments, determining whether the trigger has been satisfiedcomprises comparing the actual sensor data to at least one sensor datathreshold associated with the at least one trigger condition of the setof trigger conditions. The method may include tagging a portion of therecording associated with the potentially interesting event.

In embodiments, the one or more sensors may be activated in response tothe trigger creation module identifying the set of the one or moretrigger conditions. In various embodiments, a context may be identified,wherein the set of one or more trigger conditions is provided at leastin part on the context.

Determining whether the trigger has been satisfied may be based onactual recording metadata. The actual recording metadata may comprise apixel count of at least a portion of the recording of the activity. Inone example, the trigger may be satisfied by a ratio of low pixel countor pixel density in some areas of a frame in the recording and a higherpixel count in another portion of the frame or another portion of therecording.

In some embodiments, the sensor data to be received comprises one ormore of: Global Positioning System (GPS) sensor data, compass data,accelerometer data, gyroscope data, biometric sensor data, thermometerdata, pressure sensor data, RF data, Geiger counter data, and telemetrysensor data. The sensors may be incorporated into a mobile phone. Themobile phone may be wirelessly coupled to an activity recording deviceconfigured to take the recording of the activity.

A system may include: means for providing a set of one or more triggerconditions, satisfaction of each trigger condition being based on actualsensor data to be received; means for receiving actual sensor data fromone or more sensors, the sensor data being generated substantiallycontemporaneously with recording of an activity; means for determiningwhether the at least one trigger condition of the set of triggerconditions has been satisfied based on the actual sensor data; and meansfor identifying a potentially interesting event within the recording ofthe activity based on the satisfied at least one trigger condition.

Other features and embodiments are apparent from the accompanyingdrawings and from the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an exemplary activity recording environment, according tosome embodiments.

FIG. 2 depicts an exemplary trigger server, according to someembodiments.

FIG. 3 depicts a flowchart of an exemplary method for activating sensorsassociated with identified sensor data, according to some embodiments. 9

FIG. 4 depicts a flowchart of an exemplary method for tagging events ofa recording, according to some embodiments.

FIG. 5 depicts an exemplary activity management system, according tosome embodiments.

FIG. 6 depicts an example of a sensor interface module, according tosome embodiments.

FIG. 7 depicts a flowchart of an exemplary method for enhancing aportion of an edited recording, according to some embodiments.

FIG. 8 depicts an example of an enhancement module, according to someembodiments.

FIG. 9 depicts a flowchart of an exemplary method for selecting anenhancement for an edited recording, according to some embodiments.

FIG. 10 depicts an exemplary screen showing an edited recording of acycle ride, according to some embodiments.

FIG. 11 depicts an exemplary digital device, according to someembodiments.

DETAILED DESCRIPTION

FIG. 1 depicts an exemplary activity recording environment 100,according to some embodiments. The activity recording environment 100may include an activity recording device 105, a network 110, sensors115, an activity management system 120, and a trigger server 125.Various embodiments of the activity recording environment 100 identifyportions of a recording (e.g., recorded video) that depict events ofpotential interest. In some embodiments, patterns of sensor data (e.g.,measurements from sensors) are correlated with portions of the recordingthat depict events of potential interest. For example, when a personrecords a video, a timeline corresponding to the recording may be taggedwith times when sensor data satisfies particular trigger conditions. Thetags may be used to generate a highlight or mark portions of therecording to identify events of potential interest (e.g., video of bikejumps). Edited recordings (e.g., new recordings featuring highlightsfrom the previous recording) may be generated based on the tags. Theedited recording may further include annotations in some embodiments.

The activity recording device 105 may include a digital device havingmemory and a processor. The activity recording device 105 may includeone or more of the elements of the digital device shown in FIG. 11. Invarious embodiments, the activity recording device 105 may include oneor more of a wearable camera, a digital camera (e.g., a GOPRO Camera), adevice having a web-camera, camcorder, video recorder, media player,tablet, smartphone, or the like. A recording is any video, audio, and/orother information that is captured. In some embodiments, the activityrecording device 105 may generate the recording.

The activity recording device 105 may be capable of recording all orpart of an activity. An “activity” may include any condition in whichthings are happening or being done. Examples of activities includecycling, flying a plane, driving a car, swimming, free diving or scubadiving, playing a sport, cooking, building an item, performingmaintenance on an item, playing a musical instrument, givinginstructions to do something, attending an concert, etc. An activity mayoptionally have a “context,” which may include a framework of particularactions characteristic of that activity. Examples of contexts include acycling context that provides a framework for capturing data (e.g.,sensor data and/or recording metadata as discussed herein) related tocycling, an aviation context that provides a framework for capturingdata related to flying, an automotive context that provides a frameworkfor capturing data related to driving, or the like.

In some embodiments, the activity recording device 105 may providerecording metadata about recordings. Recording metadata includesinformation from the recording that indicates or assists in indicatingan event in the recording of potential interest. For example, recordingmetadata may indicate a quick change in video suggestive of movement(e.g., a fall, a jump, meeting a friend, or stopping for a scenic view).In another example, recording metadata may include image data such aspixel counts (e.g., white pixel count, orange pixel count, and/orcombination of red and green pixel count) in a portion of the capturedby the video camera of the activity recording device 105 at a particulartime or during a period of time. In some embodiments, recording metadatamay include sound data such as volume or other attributes of sound beingrecorded by a microphone of the activity recording device 105 at aparticular time or during a period of time.

In various embodiments, the activity recording device 105 may generateand/or provide recording metadata about recordings (i.e., recordingmetadata) while recording. In some embodiments, the activity recordingdevice 105 may generate and/or provide recording metadata afterrecording has been completed or at any time (e.g., the recordingmetadata includes a pixel count of a portion of the recording which iscalculated after the recording is recorded). Other examples of recordingmetadata include, but are not limited to, motion vectors, objectdetection, voice/phrase recognition, audio spectrum and intensity, andcomputed derivatives of other signals. In some embodiments, the activityrecording device 105 may provide the recording metadata to the activitymanagement system 120 and/or trigger server 125 at any time.

The activity recording device 105 may be coupled to the activitymanagement system 120. In various embodiments, the activity recordingdevice 105 may be coupled to the activity system 120 wirelessly (e.g.,via a WiFi, Bluetooth, or cellular network) or over one or more wires(e.g., the activity recording device 105 may be a camera configured tocommunicate with the activity management system 120 via a USB orfirewire cable). In some embodiments, the activity recording device 105provides recording(s) and recording metadata to the activity managementsystem 120. Those skilled in the art will appreciate that the activityrecording device 105 may provide the recording and/or recording metadatato the activity management system 120 at any time. For example, theactivity recording device 105 may not be in communication with theactivity management system 120 and/or the trigger server 125 for periodsof time during which the activity recording device 105 may recordrecordings and/or take sensor data. All or part of the recordings and/orsensor data may be provided to the activity management system 120 and/orthe trigger server 125 when communication has been established and/or aquality of communication has been established (e.g., the activityrecording device 105 may provide all or part of the sensor data if thereis a wired or WiFi connection but not a cellular connection). In variousembodiments, the activity recording device 105 provides recording(s)and/or recording metadata to any digital device (e.g., a digital devicevia the network 110).

The network 110 may include a computer network. The network 110 mayinclude technologies such as Ethernet, 802.11x, worldwideinteroperability for microwave access WiMAX, 2G, 3G, 4G, CDMA, GSM, LTE,digital subscriber line (DSL), and/or the like. The network 110 mayfurther include networking protocols such as multiprotocol labelswitching (MPLS), transmission control protocol/Internet protocol(TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol(HTTP), simple mail transfer protocol (SMTP), file transfer protocol(FTP), and/or the like. The data exchanged over the network 110 can berepresented using technologies and/or formats including hypertext markuplanguage (HTML) and extensible markup language (XML). In addition, allor some links can be encrypted using conventional encryptiontechnologies such as secure sockets layer (SSL), transport layersecurity (TLS), and Internet Protocol security (IPsec). The network 110may be coupled to the activity management system 120 and the triggerserver 125.

The sensors 115 may comprise any number of sensors. Any number of thesensors 115 may communicate with the activity management system 120and/or a digital device (e.g., trigger server 125) via the network 110.The sensors 115 may include any number of devices capable of detecting,gathering, and/or providing measurements. Sensor data from sensors 115may indicate but are not limited to locations, communication, timing,magnetism, orientations, acceleration, pressure, times, masses,temperatures, amounts of a substance, electric current, RF energy,radiation, luminous intensity, plane angles, solid angles, and/orquantities derived therefrom. In some embodiments, the sensors 115 mayinclude one or more of: Global Positioning System (GPS) sensors,compasses, accelerometers, gyroscopes, biometric sensors, thermometers,pressure sensors, telemetry/cadence sensors, or the like. In variousembodiments, any number of the sensors 115 may be implemented in anynumber of digital devices including, but not limited to, as a mobilephone, a wearable device (e.g., a wearable camera, a digital device thatcan record images), smart watch, tablet, a digital device that cancapture biometric data, or the like.

Sensors 115 may generate measures, which, in various embodiments,related to an event in an activity. Events may include portions of anactivity (e.g., a portion of an activity that is potentially interestingto watch or experience). There may be any number of events that areassociated with any number of sensor measurements. Examples of eventsthat may be associated with sensor measurements may be related to a bikeride may include, but not be limited to, a start of the ride, meetingswith friends, specific uphill rides, specific downhill rides, and an endof the ride. Examples of events that may be associated with sensormeasurements may be related to an airplane flight may include, but notbe limited to, takeoff, viewing of landmarks, traversal through specificgeographic regions, and a landing. Examples of events that may beassociated with sensor measurements may be related to a car ride mayinclude, but not be limited to, views of specific roads, views of theodometer, and traversal through specific geographic regions. In manyembodiments, the existence of an event may depend on the context of theactivity being performed.

Those skilled in the art will appreciate that sensor data may begenerated by sensors 115 and/or the activity recording device 105 (e.g.,information associated with all or part of the recording). In variousembodiments, the sensor data may be assessed to determine whether one ormore trigger conditions are satisfied which may indicate an event ofpotential interest. Based on the assessment, portions of the recordingmay be identified as having potentially captured an event of potentialinterest.

Although the sensors 115 are depicted as being coupled to the activitymanagement system 120 and the trigger server 125, the sensors 115 maynot be coupled to either the activity management system 120 or thetrigger server 125. For example, the sensors 115 may collect sensor dataand provide the collected sensor data (i.e., the actual sensor data)when communication is available (e.g., when the sensors 115 are capableof communicating with the trigger server 125 over the network 110 and/orwhen the sensors 115 are capable of communicating with the activitymanagement system 120).

The activity management system 120 may include a digital device havingmemory and a processor configured to manage a recording (e.g., tag,flag, and/or annotate a recording from the activity recording device105) of an activity. In various embodiments, the activity managementsystem 120 may include one or more of a smartphone, a laptop computer, acomputing tablet, a desktop computer, or any known or convenient digitaldevice. The activity management system 120 may provide users anapplication or a portion of an application (e.g., a webpage displayed ina web browser) having the functionalities described herein.

In some embodiments, the activity management system 120 may include apersonal computer coupled to the activity recording device 105 through adata port, a network cable, or a wireless network connection. In theseembodiments, the activity management system 120 may receive therecording upon an upload of the recording. In other embodiments, theactivity management system 120 may receive portions of the recording asthese portions are recorded through push or other mechanisms.

The activity management system 120 may receive recording metadata fromthe activity recording device 105 and may receive sensor data from thesensors 115. The recording metadata and/or sensor data may be utilizedby the activity management system 120 and/or the trigger server 125 toidentify events of potential interest within a recording. Althoughrecording metadata may be described as being provided from the activityrecording device 105 and the sensor data may be described as beingprovided from the sensors 115 herein, the recording metadata may beconsidered, in some embodiments, as sensor data.

In some embodiments, the activity management system 120 may receive orgenerate a context for a recording (e.g., a context for a recordingbeing generated by the activity recording device 105). The context mayidentify the type of activity being recorded (e.g., skiing, flying,surfing, racing, or the like). The activity management system 120 mayprovide the context to the trigger server 125.

The activity management system 120 may receive from the trigger server125 tags in a timeline to mark positions and/or portions within arecording of the activity recording device 105. In some embodiments,tags and/or other data from the trigger server 125 may be based onwhether recording metadata and/or sensor data meet trigger conditionsrelated to the activity. “Trigger conditions” may include a specificcombination of received sensor data and/or recording metadata thatindicate that a particular event associated with a recording isoccurring or has occurred.

In various embodiments, a trigger condition may comprise one or morepredetermined sensor data thresholds. In one example, a sensor datathreshold is a value or range. When actual sensor data is received froma sensor 115, the actual sensor data may be compared to thepredetermined sensor data threshold to identify a time, a duration, apoint in the recording, and/or a period in the recording that maycapture an event of potential interest.

For example, actual sensor data may indicate that the user or sensor 115is quickly accelerating. The actual sensor data may be compared to anacceleration threshold (e.g., a threshold value indicating a value ofacceleration and/or a threshold value indicating a change inacceleration). In this example, if the actual sensor data exceeds theacceleration threshold, a trigger condition may be satisfied and anassociated point or portion in the recording may be flagged as capturingan event of potential interest. Those skilled in the art will appreciatethat a trigger condition may be satisfied if actual sensor data exceedsa threshold, falls below a threshold, equals a threshold, or the like.In some embodiments, the threshold may represent a discrete value ratherthan a range.

A trigger condition may include any number of trigger conditions. One ormore trigger conditions may include any number of predetermined sensordata thresholds associated with any number of different types of sensordata (e.g., telemetry, acceleration, sounds, or the like). In someembodiments, satisfaction of a trigger condition may require differenttypes of sensor data exceed or fall below one or more different sensordata thresholds.

In some embodiments, one or more trigger conditions may include aplurality of different types of actual sensor data as well as differentvalues of the actual sensor data. In one example, a trigger conditionmay include a pattern of actual sensor data from different sensors. Inone example, sensor data including measurements that are equal to orexceed a threshold of pixel density of orange coloring, time of day, anda geographic location may satisfy a trigger condition which may suggesta sunset.

In another example, one or more trigger conditions may include afunction of the same type of sensor data and/or a function of differenttypes of sensor data. For example, a trigger condition may include aseries of changes in acceleration and/or velocity (e.g., a trigger issatisfied upon detection of specific changes in acceleration). Inanother example, a trigger condition may include a specific combinationof sensor measurements of different types. In some embodiments, one ormore different sensor measurements of different types may be analyzed(e.g., fed into a neural net) to determine if a trigger has beensatisfied (e.g., a threshold is compared to an output of a function ofdifferent sensor measurements and/or measurements from different typesof sensors).

In some embodiments, the activity management system 120 may flag, mark,or annotate a recording (e.g., a recording that includes one or moreportions of an extended recording) that may identify events signified bythe recording metadata from the activity recording device 105 and/or thesensor data from the sensors 115. The activity management system 120 mayalso generate an edited recording including one or more of theidentified events. For example, the edited recording of the activity mayreflect portions of the activity that are important to a personrecording the activity and/or an audience viewing the recording. In oneexample, the edited recording comprises a concatenated string of events.

In various embodiments, the edited recording may include one or moreenhancements. For example, enhancements may include viewpoints frompeople other than the person who recorded the footage of the activity.Moreover, enhancements may include video from multiple viewpoints (e.g.,from different recordings), participant and/or non-participantviewpoints, images, map data, text, transitions, shapes, images, andother data related to events. The enhancements may also include sound,audio, or effects related to a particular event.

The activity management system 120 may be coupled to the activityrecording device 105, the network 110, and the sensors 115. FIGS. 5-9show the activity management system 120 and various embodiments of itsoperation in further detail.

The trigger server 125 may include a digital device having memory and aprocessor configured to tag events in a recording. In variousembodiments, events that are potentially interesting in the recordingcorrespond to sensor data captured by the sensors 115 and/or recordingmetadata from the activity recording device 105. The trigger server 125may receive all or some sensor data and determine if triggercondition(s) are satisfied. The trigger server 125 may determine atimeline that correlates and/or is synchronized with the recording. Thetrigger server 125 may associate a tag, flag, and/or annotation with thetimeline based on the time that the trigger condition(s) are satisfied.The trigger server 125 may provide the timeline to the activitymanagement system 120 which may correlate the tag, flag, and/orannotation with the recording (e.g., the timeline from the triggerserver 125 may be correlated with the time of the recording). Thetagged, flagged, and/or annotated portion of the recording may indicatean event of potential interest.

In various embodiments, the activity management system 120 may include,for example, one or more of a laptop computer, a computing tablet, and adesktop computer, a dedicated server, and any known or convenientdigital device. In some embodiments, the trigger server 125 may bemanaged by the activity management system 120.

The trigger server 125 may provide instructions to the sensors 115and/or the activity management system 120 to activate, deactivate,control, and/or calibrate particular sensors. For example, particularsensors may be activated for a particular context (e.g., activate theaccelerator sensor for a context of “skiing”). The trigger server 125may also receive from the activity management system 120 a context of arecording of an activity, recording metadata taken contemporaneouslywith the recording, and sensor data taken contemporaneously with therecording. The trigger server 125 may identify whether the recordingmetadata and/or the sensor data correspond to trigger conditions thatmark events in the recording. In some embodiments, the trigger server125 may tag portions of a timeline corresponding to the time events arelikely to occur in the recording. The trigger server 125 may alsoprovide the tags to the activity management system 120. The triggerserver 125 may be coupled to the network 110. FIGS. 2-4 show the triggerserver 125 and various embodiments of its operation in further detail.

It is noted that in various embodiments, the trigger server 125 mayinstruct the sensors 115 and/or the activity management system 120 toactivate all relevant sensors without regard for the context of anactivity. In these embodiments, the trigger server 125 may nonethelessidentify sensor data and/or recording metadata, determine whether thesensor data and/or recording metadata correspond to trigger conditions,and tag portions of a timeline corresponding to the time events arelikely to occur in the recording.

FIG. 1 shows the activity recording device coupled to the activitymanagement system 120. However, in various embodiments the activityrecording device 105 may be coupled to the network 110, the sensors 115,the trigger server 125, or some combination thereof. Further, in someembodiments, the activity recording device 105 may be included insidethe activity management system 120, or may be contained within a devicecontaining the activity management system 120. It is further noted thatin some embodiments, portions of the network 110 may couple the activityrecording device 105 and the sensors 115 directly to one another.Moreover, the activity recording device 105 and the sensors 115 may alsobe coupled to each other through other ways, such as through data ports,data connections, Bluetooth connections, etc. Further, in someembodiments, the activity recording device 105 may be coupled directlyto the network 110, through a connection such a wireless networkconnection. In particular embodiments, the sensors 115 may be coupleddirectly to the network 110, through a connection such a wirelessnetwork connection.

Additionally, though FIG. 1 shows a single activity recording device105, it is noted various embodiments may use multiple instances of theactivity recording device 105. The multiple instances of the activityrecording device 105 may be used to capture multiple perspectives of anactivity, whether the multiple perspectives are taken from one person orfrom more than one person. Moreover, though FIG. 1 shows the triggerserver 125 and the activity management system 120 coupled via thenetwork 110, it is noted in various embodiments, the trigger server 125and the activity management system 120 may reside on the same device.

FIG. 2 shows an exemplary trigger server 125, according to someembodiments. The trigger server 125 may include a context identificationmodule 205, a trigger creation module 210, a sensor configuration module215, a sensor data module 220, an activity recording deviceconfiguration module 225, a recording metadata module 230, a triggersatisfaction module 235, a timeline correlation module 240, and atagging module 245.

The context identification module 205 may contain hardware, software,and/or firmware operative to identify a context of an activity to berecorded. The context identification module 205 may receive and/ordetermine a context. In some embodiments, the context may be based oninformation a user has entered for an activity. In various embodiments,the context identification module 205 may determine a context based oninformation from the activity recording device 105 and/or the sensors115 (shown in FIG. 1). For instance, the context may be identified basedon the speed of the sensors 115 (as indicated from sensor data), thetilt of the sensors 115 (as indicated from sensor data), biometric datacaptured by the sensors 115, pixel count changes from recording metadataof the activity recording device 105, or the like.

For example, the context identification module 205 may identifydifferent contexts based on sensor data which includes sensormeasurements. Different contexts may be determined based on one or moredifferent sensor measurements. In some embodiments, different contextsmay be based on expected sensor data. The context identification module205 may receive sensor data and retrieve a context from a plurality ofcontexts based on the received sensor data. For example, the contextidentification module 205 may receive sensor data and retrieve a contextbased on any number of measurements of the sensor data being less than,equal, or greater than any number of predetermined sensor thresholds.Any number of the sensor thresholds may be provided by a user,administrator, group of users (e.g., aggregate number of users), or thelike.

For example, the context identification module 205 may determine thecontext of an activity by receiving the sensor data. The contextidentification module 205 may determine the context of an activity as“skiing” based on GPS location (e.g., Vale), acceleration, velocity,orientation, temperature, sound, and/or the like. The sensor data may,in some embodiments, include measurements that identify changes (e.g., asudden drop in acceleration). In various embodiments, the contextidentification module 205 may determine changes in measurements based onpreviously received sensor data.

Those skilled in the art will appreciate that any number of generalcontexts may be provided to utilize triggers that may be common. Thegeneral contexts may be refined or replaced upon the user providing moreinformation on context and/or upon receiving additional sensor data.

The trigger creation module 210 may contain hardware, software, and/orfirmware operative to establish a number of triggers. A trigger mayidentify and/or may be associated with any number of trigger conditions.Trigger conditions identify a circumstance or occurrence that may besatisfied or partially satisfied by sensor data (e.g., measurements fromany number of sensors) and/or recording metadata from an activityrecording device 105.

The trigger creation module 210 may determine trigger conditions whichmay be correlated with a potentially interesting event of an activity.For example, the trigger creation module 210 may identify measurementsfrom sensor data and/or recording metadata that would correlate withevents of potential interest within of one or more activities. Thetrigger creation engine 207 may create one or more trigger conditionsfor any number of events. The trigger conditions may or may not becontext-specific.

For example, interesting events of a biking activity may include bikingnear scenic overlooks, downhill riding, and moments of high velocity.The trigger creation module 210 may generate trigger conditions based onGPS or other location information, gyroscope information, and velocityinformation (e.g., from an accelerometer or other sensor). Each triggercondition may identify one or more potentially interesting activities.

Those skilled in the art will appreciate that trigger conditions may ormay not be context dependent. For example, one acceleration measurementfor an accelerometer may indicate a high rate of speed in the context ofa marathon but may not indicate a high rate of speed in cycling. Assuch, all or part of trigger conditions for different potentiallyinteresting activities of different events may be similar or dissimilar.

In some embodiments, a user may select, identify, and/or provide triggerconditions that may identify events of potential interest to the user.For example, a user may provide one or more trigger conditions that mayindicate an event of personal interest but not events of interest toothers. As discussed herein, trigger conditions may/or may not becontext dependent. In various embodiments, a user may select, identify,and/or provide a trigger condition that indicates an event of potentialinterest when the user manually provides a signal and/or provides verbalcommands. In some embodiments, sensor data may include the manuallyprovided signal and/or verbal commands.

The sensor configuration module 215 may contain hardware, software,and/or firmware operative to activate particular ones of the sensors 115(shown in FIG. 1). More specifically, in various embodiments, the sensorconfiguration module 215 may provide instructions to activate,deactivate, receive information from, and/or calibrate GPS sensors,compasses, accelerometers, gyroscopes, biometric sensors, thermometers,pressure sensors, telemetry/cadence sensors, etc. The instructions toparticular sensors may be based, at least in part, on an identifiedcontext.

The sensor data module 220 may contain hardware, software, and/orfirmware operative to receive sensor data from the sensors 115 (shown inFIG. 1). The sensor data may be provided to the sensor data module 220at predetermined times or at intervals. The sensor data may also beprovided to the sensor data module 220 as the sensor data is generatedat the time of recording (e.g., the sensor data is generatedcontemporaneous with recording), or may be provided upon upload of arecording to the activity management system 120. In embodiments, thesensor data module 220 may provide the sensor data to the triggersatisfaction module 235.

The activity recording device configuration module 225 may containhardware, software, and/or firmware operative to configure the activityrecording device 105 (shown in FIG. 1) to provide various types ofrecording metadata. In some embodiments, the activity recording deviceconfiguration module 225 may instruct the activity recording device 105(or any digital device with access to all or part of the recording) todetermine from the recording and provide, for example, a white pixelcount, an orange pixel count, video granularity, motion vectorinformation, object detection information, voice/phrase recognition,audio spectrum and intensity information, computed derivatives of othersignals or the like. Instructions to configure the activity recordingdevice 105 to provide various types of recording metadata may be based,at least in part, on an identified context. The activity recordingdevice configuration module 225 may be configured to instruct theactivity recording device 105 to provide one or more different types ofinformation, to activate, to deactivate, to be calibrated, to becontrolled, or the like.

The recording metadata module 230 may contain hardware, software, and/orfirmware operative to receive recording metadata from the activityrecording device 105 (shown in FIG. 1). The activity recording device105 may provide recording metadata to the recording metadata module 230at predetermined times, intervals, when the recording metadata isavailable, and/or when network connectivity is available to the activityrecording device 105. In some embodiments, the recording metadata mayalso be provided to the recording metadata module 230 while recording(e.g., recording metadata is generated contemporaneous with recording)when the recording metadata is captured, or may be provided upon uploadof a recording to the activity management system 120. In embodiments,the recording metadata module 230 may provide the recording metadata tothe trigger satisfaction module 235. Those skilled in the art willappreciate that the activity management system 120 may generate therecording metadata after or during recording. For example, the activitymanagement system 120 may scan a previously stored recording to generaterecording metadata. Similarly, measurements from sensors 115 may bepreviously stored and scanned to provide one or more sensor signalsbased on the scanning of the previously stored measurements.

In some embodiments, the recording the activity recording device 105 mayrecord and store a recording. Subsequently, the activity recordingdevice 105 and/or the activity management system 120 may scan all or aportion of the recording to generate recording metadata. For example,the activity recording device 105 may scan a portion of the recording toidentify a pixel count and a pixel count density (e.g., in a portion ofa video frame) which may suggest an image (e.g., sunset) or other event.In another example, the activity recording device 105 may scan all or aportion of the recording for motion vectors, object detection, facerecognition, or the like.

Those skilled in the art will appreciate that the trigger server 125and/or the activity management system 120 may command a scan of all or aportion of the recording based on one or more different sensor readings(e.g., based on the actual sensor data). For example, the trigger server125 may command a scan of a recording at a specific recorded time basedon location (e.g., GPS data), sounds from people such as cheering (e.g.,audio data), and/or time of day (e.g., clock data). The scan of therecording may be initiated based on any one or combination of sensormeasurements. The scan of the recording may be initiated based on aspecific pattern in one sensor's measurements or a pattern of the sensordata from a plurality of sensors. In some embodiments, the scan of therecording may be initiated based on context and/or predeterminedintervals (e.g., without any sensor information).

The trigger satisfaction module 235 may contain hardware, software,and/or firmware operative to determine whether sensor data satisfiesestablished trigger conditions. In various embodiments, the triggersatisfaction module 235 may retrieve one or more triggers from aplurality of triggers. The trigger satisfaction module 235 may, in someembodiments, retrieve any number of triggers based on context (e.g.,particular triggers may be associated with trigger conditions that, whensatisfied by particular receive sensor data, indicate that a potentiallyinteresting event may have been recorded).

In some embodiments, the trigger satisfaction module 235 may determinewhether sensor data (e.g., actual sensor data received from sensors 115by the sensor data module 220) matches with sensor data threshold(s)and/or or recording metadata threshold(s) for a potentially interestingevent relating to a particular context and/or activity. For instance,for a cycling activity, the trigger satisfaction module 235 maydetermine whether received actual sensor data contains sensormeasurements related to speed, tilt, and GPS data sufficient to satisfyany number of trigger condition(s) (the trigger condition(s) beingpotentially generated by the trigger creation module 210). In anotherexample, for the cycling activity, the trigger satisfaction module 235may determine whether orange pixel counts in recording metadata satisfya trigger condition (e.g., the orange pixel counts may indicate orsuggest a recording of a sunset which may be a potentially interestingevent during the activity). In various embodiments, the triggersatisfaction module 235 may provide an indication whether triggerconditions were satisfied to other modules of the trigger server 125and/or other digital devices.

The correlation module 240 may contain hardware, software, and/orfirmware operative to indicate when trigger conditions were satisfiedfor a given recording. In some embodiments, the correlation module 240may maintain a timeline corresponding to the recording. The correlationmodule 240 may, in some embodiments, enter a timestamp into the timelineat the approximate time of each trigger condition that has beensatisfied. The correlation module 240 may provide the timeline,including the marked times of each satisfied trigger condition, to thetagging module 245.

The timeline with the corresponding timestamps may be utilized toidentify any number of times during the corresponding recording that apotentially interesting event may have occurred.

The tagging module 245 may contain hardware, software, and/or firmwareoperative to receive the timeline from the correlation module 240. Thetagging module 240 may also contain hardware, software, and/or firmwareoperative to provide tags corresponding to each time stamp in thetimeline. In various embodiments, the tagging module 240 may providetags to the activity management system 120 (shown in FIG. 1) to mark thetimes of potentially interesting events in a recording.

In various embodiments, the tagging module 245 may add additional tags,flags, and/or annotations associated with one or more time stamps fromthe correlation module 240. Those skilled in the art will appreciatethat a potentially interesting event may have occurred before, during,or after the trigger satisfaction module 235 indicates a trigger issatisfied. The tagging module 245 may add a flag at a predetermined ordefault time before a time stamp and/or add a flag at a predetermined ordefault time after a time stamp. As a result, a portion of a recordingmay be flagged to identify a potential duration of a potentiallyinteresting event. This may allow for additional confidence that alarger portion or an entire potentially interesting event has beenindicated in the recording.

In various embodiments, the tagging module 245 may add tags at differentintervals before and/or after a time stamp depending on the trigger thatis satisfied and/or a context. In some embodiments, when the triggercreation module 210 creates trigger conditions, the tagging module 245may determine or receive information indicating when and whereadditional tags should be added with respect to the time stamp.

Although FIG. 2 shows the context identification module 205, it is notedthat various embodiments may omit the context identification module 205.More specifically, in some embodiments, the sensor configuration module210 may configure all of the sensors 115 to provide sensor data duringthe recording. The activity recording device configuration module 225may similarly configure the activity recording device 105 to provide allrecording metadata during the recording. Based on this sensor dataand/or recording metadata, the trigger satisfaction module 235, thecorrelation module 240, and the tagging module 245 may operate asdiscussed herein.

FIG. 3 depicts a flowchart 300 of an exemplary method for activatingsensors associated with identified sensor data, according to someembodiments. The flowchart 300 is discussed in conjunction with thetrigger server 125 shown in FIG. 2.

In step 305, the context identification module 205 may identify acontext of a recording of an activity. In some embodiments, the contextmay include a user-specified context, that is, a context a user hasmanually entered for an activity (e.g., via an interface or website incommunication with the context identification module 205). In variousembodiments, the context may include a context identified based on theconfiguration of the activity recording device 105. In particularembodiments, the context may include a context identified based on howthe sensors 115 are behaving. For instance, the context may include acontext identified based on the speed, the tilt, biometric data, or thelike of the sensors 115 and/or pixel count changes recorded by theactivity recording device(s) 105. In certain embodiments, the contextidentification module 205 may receive a context identified based onself-identification by the activity recording device 105. The contextidentification module 205 may provide the identified context to thetrigger satisfaction module 235.

In step 310, the trigger creation module 210 may identify one or moretrigger conditions corresponding to the context. In various embodiments,the trigger creation module 210 may generate and/or identify one or moretrigger conditions prior to receiving a context. For example, thetrigger creation module 210 may be preconfigured to identify differenttrigger conditions that may indicate a potentially interesting event inany number of contexts.

In some embodiments, the trigger creation module 210 may select anynumber of trigger conditions from a plurality of previously configuredtrigger conditions based on a received context. For example, the triggercreation module 210 may receive a context and, based on the context,select a subset of trigger conditions from a previously generated set oftrigger conditions. The selected subset of trigger conditions may bepreviously associated with the context. Those skilled in the art willappreciate that a trigger condition may be associated with any number ofcontexts and/or may be selected as being indicative of a potentiallyinteresting event without any context.

In step 315, the sensor configuration module 215 may identify sensordata to be captured contemporaneously with the recording. In someembodiments, the sensor configuration module 215 may identify sensordata to be captured from previously recorded sensor data. In someembodiments, the sensor configuration module 215 may identify sensorsbased on the selected trigger condition and/or context (e.g., where thesensor data is related to the one or more trigger conditions). Invarious embodiments, the sensor configuration module 215 may identifysensor and/or sensor data related to a context and may provideinstructions to sensors based on the identified sensor and/or sensordata. For example, the sensor configuration module 215 may identifyconfigurations of one or more sensor(s) relating to various contexts,including: cycling, running, walking, flying, driving, or the like.

In some embodiments, the identified sensor data may be related topotentially interesting events associated with an activity representedor associated by the context. For instance, the sensor configurationmodule 215 may generate and/or provide sensor data relating to: a bumpyroad, a steep and/or remarkable climb (e.g., category 2.1 climb),measures of a participant's performance (speed, etc.), tight turns,whether a participant is overtaking or being overtaken by another,whether the participant is approaching or at a finish line of a race,whether a participant has crashed, etc. All or some of the sensor datamay satisfy any number of trigger conditions identified by a triggerwhich may indicate that a potentially interesting event may be recorded.

In another example, for trigger conditions related to an aviationcontext, the sensor configuration module 215 may generate and/or providesensor data relating to: takeoff, turbulence, abrupt changes inelevation, acceleration, direction altitude, and/or attitude, whether aparticipant is entering and/or leaving an airspace, whether aparticipant has deviated from a flight plan, etc. As yet anotherexample, for trigger conditions related to an automotive context, thesensor configuration module 215 may generate and/or provide sensor datarelating to: lane changes, speeds, safe spacing from other drivers,tired drivers (through biometric data), acceleration, whether a car iswasting or saving fuel, etc. The sensor configuration module 215 maygenerate and/or provide sensor data relating to: known and/or predefinedwaypoints and/or segments, portions of an ascent or descent, portions ofa scenic route, portions of a route marked by other people, whether aparticipant has crossed paths with other users, etc.

In step 320, the activity recording device configuration module 225 mayidentify a type of recording metadata to be captured contemporaneouslywith the recording, where the recording metadata is related to the oneor more trigger conditions. In some embodiments, the activity recordingdevice configuration module 225 may identify a type of recordingmetadata to be captured from a previously stored recording. For example,a trigger may be retrieved based on the context of an activity that isor will be recorded. The trigger may be associated with any number oftrigger conditions. One or more of the trigger conditions may besatisfied, for example, by a type of recording metadata (e.g., a numberof orange pixels that are recorded). The activity recording deviceconfiguration module 225 may provide instructions to one or more sensorsand/or the sensors 115 to generate and/or provide the desired recordingmetadata.

In step 325, the sensor configuration module 215 may provideinstructions to activate, retrieve, calibrate, and/or controlinformation from sensors (e.g., activate or retrieve information fromsensors 115) associated with the identified sensor data. For example,the sensor configuration module 215 may provide instructions to activateGPS sensors, compasses, accelerometers, gyroscopes, biometric sensors,thermometers, pressure sensors, telemetry/cadence sensors, or the like.The instructions may correspond to the sensor data to be capturedcontemporaneously with the recording.

FIG. 4 depicts a flowchart 400 of an exemplary method for tagging eventsof a recording, according to some embodiments. The flowchart 400 isdiscussed in conjunction with the trigger server 125, shown in FIG. 2.

In step 405, the trigger satisfaction module 235 may retrieve a triggerassociated with a context, retrieve a trigger identified by the user, ordetermine a trigger (e.g., default and/or based on at least someinformation from sensors 115). The trigger may be associated with one ormore trigger conditions. The trigger satisfaction module 235 maydetermine if one or more trigger conditions associated with any numberof triggers is satisfied based on actual sensor data and/or recordingmetadata. In some embodiments, satisfaction of trigger conditions may bebased on sensor data received from the sensors 115 and/or recordingmetadata received from the activity recording device 105.

In step 410, the sensor data module 220 receives sensor data from thesensors 115 generated contemporaneously with the recording of anactivity. The sensor data may be based on how the sensors 115 arecalibrated, controlled, or activated (e.g., by the sensor configurationmodule 215) for a given context. For instance, for a cycling activity,the trigger satisfaction module 235 may determine that a triggercondition is satisfied when the sensor data module 220 receives actualsensor data related to combinations of speed, tilt, and GPS data. Thoseskilled in the art will appreciate that actual sensor data may containvalues associated with a measurement.

A trigger condition may include any number of thresholds which mayindicate that the trigger condition is partially or completelysatisfied. For example, a trigger condition may include a speedthreshold and a tilt threshold. If the sensor data module 220 receives avalue associated with speed that is greater than or equal to the speedthreshold and if the sensor data module 220 receives a value associatedwith a tilt that is greater than or equal to the tilt threshold, thenthe trigger condition is satisfied.

In step 415, the recording metadata module 230 may receive recordingmetadata from the activity recording device 105 generatedcontemporaneously with the recording of the activity. The recordingmetadata may be based on how the activity recording device 105 isconfigured for a particular context. For example, for a cyclingactivity, recording metadata module 230 may receive pixel counts ofvarious colors (e.g., white, orange, etc.) in recording metadata.

In step 420, the trigger satisfaction module 235 may determine if anynumber of trigger conditions have been satisfied based on the receivedsensor data (i.e., the actual sensor data) and/or the recordingmetadata. In some embodiments, the trigger satisfaction module 235 maycompare the received sensor data with one or more thresholds of arelevant trigger condition. The trigger satisfaction module 235 may alsocompare the recording metadata with one or more thresholds of a relevanttrigger condition. For example, the trigger satisfaction module 235 maydetermine if combinations of speed, tilt, and GPS data satisfied one ormore trigger conditions for cycling (e.g., going uphill, going downhill,sprinting, starting a course, and/or ending a course). As anotherexample, the trigger satisfaction module 235 may determine if recordingmetadata satisfied or partially satisfied one or more trigger conditionsfor cycling (e.g., whether orange pixel counts indicated a sunset).

In step 425, the tagging module 245 may tag a portion of a recordingcorresponding to the event of potential interest based on thesatisfaction of any number of trigger conditions. In variousembodiments, the tagging module 245 may obtain a timestamp of eachsatisfaction of a trigger condition from the correlation module 240. Thetagging module 245 may associate timestamps received from thecorrelation module 240 with any number of tags. In various embodiments,the tagging module 240 may provide the tags to the activity managementsystem 120.

FIG. 5 depicts an exemplary activity management system 120, according tosome embodiments. The activity management system 120 may include asensor interface module 505, an activity recording device interfacemodule 510, a trigger server interface module 515, a recordingmanagement module 520, and an enhancement module 525. In someembodiments, the activity management system 120 is local to the activityrecording device 105. For example, the activity management system 120may include a user's desktop personal computer which is coupled to auser's video recorder (e.g., the activity recording device 105). Invarious embodiments, all or part of the activity management system 120is remote to the user and/or the activity recording device 105 (e.g.,the activity recording device 105 may provide all or some of therecording to the activity management system 120 across a network).

In one example, the activity management system 120 may comprise hardwareand/or software that receives a recording (e.g., from the activityrecording device 105) as well as the timeline and/or flags from thetrigger server 125 (e.g., from the tagging module 245). The activitymanagement system 120 may be utilized to flag, annotate, or otherwiseassociate data with the recording based on the timeline and/or flags. Insome embodiments, the user may utilize the altered recording to viewportions of the recording associated with the timeline, flags, orannotations to view events of likely interest that occurred during anactivity. The user may also generate highlight video based on thealtered recording. The highlight video may include portions of thealtered recording. In some embodiments, portions of the alteredrecording may be shared with others (e.g., via vine, email, twitter, SMStext message, Flickr, Facebook, LinkedIn or the like). Portions includedin the highlight video may be based on the timeline, flags, and/orannotations.

The sensor interface module 505 may contain hardware, software, and/orfirmware operative to interface with the sensors 115, shown in FIG. 1.In various embodiments, the sensor interface module 505 may receivesensor data (i.e., actual sensor data) from the sensors 115. The sensorinterface module 505 may also provide instructions to activate,deactivate, calibrate, and/or control any number of the sensors 115(e.g., based on instructions from the trigger server 125). FIG. 6 showsthe sensor interface module 505 in greater detail.

The activity recording device interface module 510 may contain hardware,software, and/or firmware operative to interface with the activityrecording device 105, shown in FIG. 1. In various embodiments, theactivity recording device interface module 510 may receive any number ofrecordings from the activity recording device 105. The activityrecording device interface module 510 may store all or part of therecordings of activities on the activity management system 120 and/orother digital devices (e.g., the trigger server 125 or a third-partycloud storage system). In some embodiments, the activity recordingdevice interface module 510 may receive recording metadata from theactivity recording device 105.

The trigger server interface module 515 may contain hardware, software,and/or firmware operative to interface with the trigger server 125through the network 110, shown in FIG. 1. The trigger server interfacemodule 515 may provide the trigger server 125 contexts for recordings(e.g., the context being received from the user or determined by theactivity management system 120) and/or sensor data takencontemporaneously with recordings. The trigger server interface module515 may also receive from the trigger server 125 tags, flags, marks,and/or annotations to mark or otherwise flag events in recordings andother data.

The recording management module 520 may contain hardware, software,and/or firmware operative to manage activity recordings. In someembodiments, the recording management module 520 may manage storageand/or access to recordings of activities. The recording managementmodule 520 may allow a user to cut portions from, edit, modify, orotherwise manipulate recordings (e.g., based on the tags, flags, marksand/or annotations from the trigger server 125). In some embodiments,the recording management module 520 may create an edited recording. Theedited recording may, in various embodiments, comprise highlights ofevents in a recording of an activity. The edited recording may includeenhancements from the enhancement module 525, as discussed herein. Invarious embodiments, the recording management module 520 may also allowa user to post, publish, email, tweet, or otherwise share recordingswith others.

The enhancement module 525 may contain hardware, software, and/orfirmware operative to enhance recordings. In various embodiments, theenhancements may include one or more of: edited transitions betweenportions of recordings, annotations (e.g., added text or other images orinformation to portions of video from recordings), still shots,preferred viewpoints, multiple viewpoints, collaborative viewpoints, mapdata associated with an event, and other viewpoints. FIG. 8 shows theenhancement module 525 in greater detail.

Those skilled in the art will appreciate that all or part of theactivity management system 120 may be a part of the activity recordingdevice 105 (e.g., the activity recording device 105 includes a processorand memory capable of performing any number of the functions of theactivity management system 120). Similarly, all or part of the activitymanagement system 120 may be a part of any number of sensors 115.

FIG. 6 depicts an example of a sensor interface module 505, according tosome embodiments. The sensor interface module 505 may include apositioning system interface module 605, an accelerometer interfacemodule 610, a gyroscope interface module 615, a telemetry sensorinterface module 620, a biometric sensor interface module 625, atemperature sensor interface module 630, a pressure sensor interfacemodule 635, and another sensor interface module 640.

The positioning system interface module 605 may include hardware,software, and/or firmware operative to capture data from a positioningsystem, such as a GPS system. In some embodiments, the positioningsystem interface module 605 may receive one or more GPS coordinates ofthe activity recording device 105. The GPS system may also provide, insome embodiments, longitude, latitude, elevation, and/or othercoordinates.

The accelerometer interface module 610 may include hardware, software,and/or firmware operative to capture data from an accelerometerassociated with the activity recording device 105 and/or one or moresensor(s) 115. In various embodiments, the accelerometer interfacemodule 610 may capture acceleration of the activity recording device 105and/or one or more sensor(s) 115 during a recording by the recordingdevice 105.

The gyroscope interface module 615 may include hardware, software,and/or firmware operative to capture angle or tilt information from agyroscope associated with the activity recording device 105 and/or oneor more sensor(s) 115. In various embodiments, the gyroscope interfacemodule 615 may capture angle or tile information of the activityrecording device 105 and/or one or more sensor(s) 115 during a recordingby the recording device 105.

The telemetry sensor interface module 620 may include hardware,software, and/or firmware operative to capture data from cadence ortelemetry sensors associated with the activity recording device 105and/or one or more sensor(s) 115. In various embodiments, the telemetrysensor interface module 620 may capture cadence or telemetry informationof the activity recording device 105 and/or one or more sensor(s) 115during a recording by the recording device 105.

The biometric sensor interface module 625 may include hardware,software, and/or firmware operative to capture data from biometricsensors associated with the activity recording device 105 and/or one ormore sensor(s) 115. In various embodiments, the biometric sensorinterface module 625 may capture biometric information of a user duringa recording by the activity recording device 105.

The temperature sensor interface module 630 may include hardware,software, and/or firmware operative to capture data from temperaturesensors associated with the activity recording device 105 and/or one ormore sensor(s) 115. In various embodiments, the temperature sensorinterface module 630 may capture temperatures near or around theactivity recording device 105 and/or one or more sensor(s) 115 during arecording by the activity recording device 105.

The pressure sensor interface module 635 may include hardware, software,and/or firmware operative to may capture data from pressure sensorsassociated with the activity recording device 105 and/or one or moresensor(s) 115. In various embodiments, the pressure sensor interfacemodule 635 may capture pressures near or around the activity recordingdevice 105 and/or one or more sensor(s) 115 during a recording by theactivity recording device 105. The other sensor interface module 640 maycapture data from miscellaneous sensors and/or components associatedwith the activity recording device 105 during an activity.

FIG. 7 depicts a flowchart 700 of an exemplary method for enhancing aportion of an edited recording, according to some embodiments. Theflowchart 700 is discussed in conjunction with the activity managementsystem 120, shown in FIG. 5.

In step 705, the activity recording device interface module 510 receivesa recording of an activity. The recording may contain one or more eventsthat have been previously tagged. For example, the trigger server 125may provide a timeline of tags, annotations, and/or marks. The timelinemay be correlated with a recording whereby the tags, annotations, and/ormarks are associated with events of likely interest in the recording.

In step 710, the activity recording device interface module 510 receivesrecording metadata generated contemporaneously with recording of theactivity. In some embodiments, the activity recording device interfacemodule 510 receives information such as pixel counts, etc. that mayindicate the occurrence of one or more events of likely interest.

In step 715, the sensor interface module 505 receives sensor datagenerated contemporaneously with recording of the activity. In variousembodiments, the sensor interface module 505 may obtain sensor data fromthe any number of sensors 115. In some embodiments, the sensor interfacemodule 505 may obtain sensor data from all of the sensors 115, while inother embodiments; the sensor interface module 505 may obtain sensordata from a subset of activated sensors of the sensors 115.

In some embodiments, the positioning system interface module 605captures sensor data from a positioning system. In various embodiments,the accelerometer interface module 610 captures sensor data from anaccelerometer. The gyroscope interface module 615 may capture angle ortilt sensor information from a gyroscope. Further, the telemetry sensorinterface module 620 may capture sensor data from cadence or telemetrysensors. The biometric sensor interface module 625 may capture sensordata from biometric sensors. In various embodiments, the temperaturesensor interface module 630 may capture sensor data from temperaturesensors. The pressure sensor interface module 635 may capture data frompressure sensors. In some embodiments, other sensor interface module 640may capture data from other sensors.

In step 720, the trigger server interface module 515 provides the sensordata to the trigger server 125. In embodiments where the trigger serverinterface module 515 is coupled to the trigger server 125 through thenetwork 110, the trigger server interface module 515 provides the sensordata to the trigger server 125 through the network 110. In embodimentswhere the trigger server interface module 515 resides on the same deviceas the trigger server 125, the trigger server interface module 515 mayprovide the sensor data to the trigger server 125 through the mediumcoupling the trigger server interface module 515 and the trigger server125.

In various embodiments, the trigger server interface module 515 mayprovide all or some sensor data to the trigger server 125. For example,where bandwidth over the network 110 is limited, the trigger serverinterface module 515 may provide “low bandwidth” sensor data. “Lowbandwidth” sensor data may be any sensor data (e.g., accelerometersensor data) that may be transferred over network 110 when there islittle network performance. When bandwidth and/or performance of thenetwork 110 are sufficient, the trigger server interface module 515 mayprovide additional sensor data including, for example, audio from amicrophone.

Those skilled in the art will appreciate that the activity recordingdevice 105 and/or the activity management system 120 may provideportions of recordings, recordings, and/or recording metadata to thetrigger server 125. In some embodiments, the activity recording device105 and/or the activity management system 120 provide portions ofrecordings (e.g., for sharing), recordings, and/or recording metadata tothe trigger server 125 when the network 110 has sufficient performance(e.g., when bandwidth is high).

In various embodiments, the activity recording device 105 and/or theactivity management system 120 determine the quality of the networkbased on the available network connection (e.g., LTE, WiMax, 3G, WiFi,or the like). For example, those who cycle will appreciate that cellularand/or data connectivity may be limited (if available at all) at manypoints along a trip. When there is no bandwidth, the activity recordingdevice 105, sensors 115, and/or the activity management system 120 maybe configured to wait until improved cellular and/or data connectivitybefore providing past sensor data, present sensor data, past recordingmetadata, current recording metadata, partial recordings, and/orrecordings to a digital device (e.g., the trigger server 125) via thenetwork 110. When there is little or low bandwidth (e.g., the activityrecording device 105, sensors 115, and/or the activity management system120 detects 2G or the network signal strength is below or equal to a lowstrength threshold), the activity recording device 105, sensors 115,and/or the activity management system 120 may be configured to send somesensor data, some of the: past sensor data, present sensor data, pastrecording metadata, current recording metadata, partial recordings,and/or recordings to a digital device. In some embodiments, when thereis low bandwidth, the activity recording device 105, activity managementsystem 120, and/or sensors 115 provide particular sensor data that maybe transmitted over poorly performing networks. For example, theactivity recording device 105, activity management system 120, and/orsensors 115 may provide accelerometer sensor data but not audio sensordata which may consume greater bandwidth.

When there is acceptable or high bandwidth (e.g., the activity recordingdevice 105, sensors 115, and/or the activity management system 120detects 4G or the network signal strength is above or equal to astrength threshold), the activity recording device 105, sensors 115,and/or the activity management system 120 may be configured to send allor most sensor data, including past sensor data, present sensor data,past recording metadata, current recording metadata, partial recordings,and/or recordings to a digital device. In some embodiments, when thereis high bandwidth, the activity recording device 105, activitymanagement system 120, and/or sensors 115 provide particular sensor datathat may be transmitted over satisfactorily performing or highlyperforming networks (e.g., a strong WiFi connection).

In step 725, the trigger server interface module 515 may incorporatefrom the trigger server 125 a tag corresponding to an event within therecording. In some embodiments, the trigger server interface module 515receives a tag that provides a particular time corresponding to arecorded event in an extended recording. The trigger server interfacemodule 515 may provide the tag to the recording management module 520.

In step 730, the recording management module 520 may incorporate aportion of the recording (marked with one or more flags, tags, orannotations) into an edited recording. In an embodiment, the recordingmanagement module 520 determines a time or an interval of timecorresponding to the tag. For example, if the tag indicated an eventoccurred between five minutes (5:00) and five minutes thirty seconds(5:30) in the recording, the recording management module 520 mayincorporate a thirty second clip (e.g., which may correspond to anevent) into a new or edited recording. In various embodiments, therecording management module 520 may concatenate additional events basedon the flags, tags, and/or annotations into the edited recording. Theresulting edited recording may include any number of clips or portionsof any number of recordings.

In step 735, the enhancement module 525 may enhance a portion of theedited recording. In various embodiments, the enhancement module 525 mayselect and apply one or more of: still shots, preferred viewpoints,multiple viewpoints, collaborative viewpoints, map data associated withan event, and other viewpoints. FIG. 9 shows various exemplaryenhancements that can be applied.

FIG. 8 depicts an example of an enhancement module 525, according tosome embodiments. The enhancement module 525 may include a still shotselection module 805, a preferred viewpoint selection module 810, amultiple viewpoint selection module 815, a collaborative viewpointselection module 820, a map data selection module 825, and anotherviewpoint selection module 830.

The still shot selection module 805 may select a still shot from arecording to enhance a portion of the footage. In some embodiments, thestill shot selection module 805 may contain a library of text, images,memes, and other content. The still shot selection module 805 may selecta still shot from the library to enhance the portion of the footage.

The preferred viewpoint selection module 810 may select a preferredviewpoint from a recording to enhance a portion of the footage. Thepreferred viewpoint may accommodate a preferred lighting, a preferredangle, or a preferred perspective of an event. The preferred viewpointmay further accommodate the actions of a participant may accommodatevarious aesthetic qualities, in various embodiments.

The multiple viewpoint selection module 815 may select multipleviewpoints from a recording to enhance the portion of the footage. Themultiple viewpoint selection module 815 may select the footage frommultiple activity recording devices to superimpose onto a common screenthat shows an event from multiple perspectives.

The collaborative viewpoint selection module 820 may selectcollaborative viewpoints from a recording to enhance the portion of thefootage. For example, the collaborative viewpoint selection module 820may select the footage from various users to superimpose onto a commonscreen that shows an event from the perspective of multiple users. Themap data selection module 825 may select map data to apply to enhancethe portion of the footage. The other viewpoint selection module 830 mayselect other data (e.g., audio, sound, etc.) to apply to enhance theportion of the footage.

FIG. 9 depicts a flowchart 900 of an exemplary method for selecting anenhancement for an edited recording, according to some embodiments. Theflowchart 900 is discussed in conjunction with the recording managementmodule 520, shown in FIG. 5 and the enhancement module 525, shown inFIG. 8.

In step 905, the recording management module 520 (shown in FIG. 5) mayreceive a recording of an event of an activity. For a cycling activity,for instance, the recording of the event may be a recording of a startof a ride, meeting a friend, an ascent of a particular hill, reaching aparticular landmark, a descent of another hill, the end of a ride, orthe like.

In step 910, the still shot selection module 805 may select one or morestill shots to enhance the recording of the event. To continue theforegoing cycling example, when a cyclist reaches the particularlandmark, the still shot selection module 805 may enhance the recordingof the event of the landmark with an image of the landmark. In anotherexample, when the cyclist enters a particular city (e.g., Los Altos),the still shot selection module 805 may select or generate text stating“Entering Los Altos” that is superimposed on the recording of the event.

In step 915, the preferred viewpoint selection module 810 may select apreferred viewpoint to enhance the recording of the event. For example,on a cycle ride in which a cyclist climbs a hill at about sunset, afront-lit shot of the road taken while the cyclist faces one directionmay accurately capture the cyclist's actions, while a back-lit shot ofthe road, taken while the cyclist faces another direction, may mostaesthetically capture the sunset. In this example, the preferredviewpoint selection module 810 may select the front-lit shot toappropriately capture the event of the cyclist's ascent over the hill.

In step 920, the multiple viewpoint selection module 815 may select oneor more multiple viewpoints (e.g., from different portions of any numberof recordings from any number of activity recording devices 105) toenhance the recording of the event. For an aviation activity, forinstance, a pilot may have multiple activity recording devices thatcapture various viewpoints at a given time. When the pilot is landing,the multiple viewpoint selection module 815 may combine onto a singlescreen other recordings taken contemporaneously from multiple activityrecording module devices 105, such as activity recording devices oflanding gear, activity recording devices of the cockpit, and activityrecording devices recording the pilot's point of view.

In step 925, the collaborative viewpoint selection module 820 may selectone or more collaborative viewpoints (e.g., from different portions ofany number of recordings from any number of activity recording devices105) to enhance the recording of the event. To continue a foregoingcycling example, on a cycle ride, multiple people (includingparticipants and non-participants) may record a recording with differentactivity recording device. The collaborative viewpoint selection module820 may combine, superimpose, or replace portions of recordings to bestcapture an event. As another example, at a baseball game, a spectatormay have recorded a video of a home run being hit. The collaborativeviewpoint selection module 820 may capture the hit from multipleviewpoints, such as the viewpoints of other spectators at the baseballgame.

In step 930, the map data selection module 825 may select map data toenhance the recording of the event. For instance, on a cycle ride, aparticipant may traverse a particular geographic region. The map dataselection module 825 may provide map data (e.g., an image or a route ona map) corresponding to the regions the participant traverses. At block935, the other viewpoint selection module 830 may select other data toenhance the recording of the event.

FIG. 10 depicts an exemplary screen 1000 showing an edited recording ofa cycle ride, according to some embodiments. The screen 1000 includes arecording 1005 of an activity, sensor data 1010, and an edited recording1015.

The recording 1005 may include video of an activity. In someembodiments, the recording 1005 may have been captured by the activityrecording device 105, shown in FIG. 1. In the depicted embodiment ofFIG. 10, the activity shown by the recording 1005 includes a cycle ridethrough a known route in Northern California. In various embodiments,the activity recording device 105 may capture the recording 1005. Thoseskilled in the art will appreciate that the recording 1005 may includeaudio and/or enhancements (e.g., annotations such as words, text,shapes, special effects and/or metadata).

The recording 1005 may include depictions a first event 1020, a secondevent 1025, a third event 1030, and a fourth event 1035. The first event1020, the second event 1025, the third event 1030, and the fourth event1035 may contain action, dramatic, or other elements corresponding tohighlights of the cycle ride. For instance, the first event 1020 mayinclude bumping into a friend named “Alice” during the cycle ride. Thefirst event 1020 may be significant for social reasons. The second event1025 may include a climb up a hill on a road named “Old La Honda Road.”The third event 1030 may include a descent down a hill on a road named“Woodside Road.” The fourth event may include a final climb and sprintat the end of the cycle ride. The second event 1025, the third event1030, and the fourth event 1035 may record the cyclist travelling atinteresting speeds, interesting angles, or interesting scenery, forinstance.

Each of the events may be flagged, tagged, and/or annotated based onactual sensor data and/or recording metadata. For example, the firstevent 1020 of bumping into a friend named “Alice” may be identified aspotentially interesting based on actual sensor data such as a suddenstop in acceleration, detection of speaking, periods of sensorinactivity, a manual flag entered by the user, or the like. The second,third, and/or fourth event(s) may be identified as potentiallyinteresting based on sensor data from an accelerometer, gyroscope, GPS,or the like.

In some embodiments, the recording 1005 may also include depictions ofuneventful items. The uneventful items may appear repetitive or may notcontain the action elements or dramatic elements that characterize thefirst event 1020, the second event 1025, the third event 1030, and thefourth event 1035. For instance, the uneventful items may depict thecyclist's ride over repetitive stretches of road for relatively longdurations (e.g., forty-five minutes). During these stretches, thescenery may not change for extended durations of time. Further, thecyclist may not meet anyone, nor may the cyclist travel particularlyfast or at interesting angles.

The sensor data 1010 may include data captured by sensorscontemporaneously with the recording 1005 More specifically, in thisexample, the sensor data 1010 includes first sensor data 1060, secondsensor data 1065, third sensor data 1070, and fourth sensor data 1075.In some embodiments, the first sensor data 1060, the second sensor data1065, the third sensor data 1070, and the fourth sensor data 1075 mayhave been captured by the sensors 115 (shown in FIG. 1)contemporaneously with the recording 1005. In various embodiments, thesensors 115 may configure sensors to capture the sensor data 1010 basedon instructions from the activity management system 120 and/or thetrigger server 125. In some embodiments, the activity management system120 and/or the trigger server 125 may have instructed the sensors 115 tocapture the sensor data 1010 based on the fact that a cycling contextwas identified.

The first sensor data 1060 may represent sensor data captured by thesensor interface module 505 (shown in FIGS. 5 and 6) contemporaneouslywith the first event 1020. For instance, the other sensor interfacemodule 840 (shown in FIG. 8) may indicate the cyclist is near his friendAlice. The second sensor data 1065 may represent sensor data captured bythe sensor interface module 505 contemporaneously with the second event1025. More specifically, the positioning system interface module 605(shown in FIG. 6) and the gyroscope interface module 615 (shown in FIG.6) may indicate the cyclist is moving at a particular velocity and is ata particular tilt characterizing a significant ascent. Moreover, thebiometric sensor interface module 625 (shown in FIG. 6) may indicate thecyclist's heartbeat is significantly rising during the ascent signifiedby the second event 1025.

The third sensor data 1070 may represent sensor data captured by thesensor interface module 505 contemporaneously with the third event 1030.More specifically, the positioning system interface module 605 and thegyroscope interface module 615 may indicate the cyclist is moving at aparticular velocity and is at a particular tilt that characterized asignificant descent. Moreover, the biometric sensor interface module 625may indicate the cyclist's heartbeat is significantly rising due to anadrenaline rush during the descent signified by the third event 1030.The fourth sensor data 1075 may represent sensor data captured by thesensor interface module 505 contemporaneously with the fourth event1035. More specifically, the positioning system interface module 605 andthe gyroscope interface module 615 may indicate the cyclist is moving ata particular velocity and is at a particular tilt that characterized afinal climb and sprint. Moreover, in this example, the other sensorinterface module 640 may indicate the cyclist is in the process of afinal climb and sprint.

In some embodiments, the sensors 115 may provide the sensor data 1010 tothe trigger server 125, through the network 110 and/or the activitymanagement system 120. The trigger server 125 may determine whether thesensor data 1010 satisfies trigger conditions for a cycling context, asdiscussed in context of FIG. 4. In various embodiments, the triggerserver 125 may determine that each of the first sensor data 1060, thesecond sensor data 1065, the third sensor data 1070, and the fourthsensor data 1075 satisfies trigger conditions for the cycling context.

In specific embodiments, the trigger server 125 may tag portions of atimeline associated with the recording 1005 to indicate the presence ofevents at times corresponding to each of the first sensor data 1060, thesecond sensor data 1065, the third sensor data 1070, and the fourthsensor data 1075. For instance, the trigger server 125 may tag atimeline associated with the recording 1005 with a first tag 1040corresponding to the time of the first event 1020, second tag 1045corresponding to the time of the second event 1025, a third tag 1050corresponding to the time of the third event 1030, and fourth tag 1055corresponding to the time of the fourth event 1035. The trigger server125 may provide the first tag 1040, the second tag 1045, the third tag1050, and the fourth tag 1055 to the activity management system 120. Invarious embodiments, the tags may be provided when the recording 1005 isuploaded to the activity management system 120 or when the activityrecording device 105 is capturing the recording 1005.

In various embodiments, the activity management system 120 may createthe edited recording 1015 from the recording 1005 based on the first tag1040, the second tag 1045, the third tag 1050, and the fourth tag 1055.The first tag 1040, the second tag 1045, the third tag 1050, and thefourth tag 1055 may correspond, respectively, to the first event 1020,the second event 1025, the third event 1030, and the fourth event 1035.In this example, the edited recording 1015 includes a consolidated clipof: the encounter with the cyclist's friend Alice, a dramatic climb upOld La Honda Road to highlight the cyclist's tenacity riding up a steephill, an action-packed clip of a fast decent down Woodside Road toshowcase the cyclist's ability to handle high speeds through curvyroads, and the cyclist's final climb up a hill and descent. Theresulting edited recording 1015 is rich with drama and action. At threeminutes long, the edited recording 1015 is also much shorter than therecording 1005, which, in this example, is three hours long. Moreover,the edited recording 1015 may also be enhanced with still images,preferred viewpoints, multiple viewpoints, collaborative viewpoints, mapdata, and other data that would not necessarily be reflected in therecording 1005. Advantageously, the edited recording 1015 may have beengenerated by the activity management system 120 based on sensor datafrom the sensors 115 and tags from the trigger server 125 without manualsearch, editing, or other intervention, by the cyclist.

FIG. 11 depicts an exemplary digital device 1100, according to someembodiments. The digital device 1100 comprises a processor 1105, amemory system 1110, a storage system 1115, a communication networkinterface 1120, an I/O interface 1125, and a display interface 1130communicatively coupled to a bus 1135. The processor 1105 may beconfigured to execute executable instructions (e.g., programs). In someembodiments, the processor 1105 comprises circuitry or any processorcapable of processing the executable instructions.

The memory system 1110 is any memory configured to store data. Someexamples of the memory system 1110 are storage devices, such as RAM orROM. The memory system 1110 may comprise the RAM cache. In variousembodiments, data is stored within the memory system 1110. The datawithin the memory system 1110 may be cleared or ultimately transferredto the storage system 1115.

The storage system 1115 is any storage configured to retrieve and storedata. Some examples of the storage system 1115 are flash drives, harddrives, optical drives, and/or magnetic tape. In some embodiments, thedigital device 1100 includes a memory system 1110 in the form of RAM anda storage system 1115 in the form of flash data. Both the memory system1110 and the storage system 1115 comprise computer readable media whichmay store instructions or programs that are executable by a computerprocessor including the processor 1105.

The communication network interface (com. network interface) 1120 may becoupled to a data network via the link 1140. The communication networkinterface 1120 may support communication over an Ethernet connection, aserial connection, a parallel connection, or an ATA connection, forexample. The communication network interface 1120 may also supportwireless communication (e.g., 802.11a/b/g/n, WiMAX, LTE, 3G, 2G). Itwill be apparent to those skilled in the art that the communicationnetwork interface 1120 may support many wired and wireless standards.

The optional input/output (I/O) interface 1135 is any device thatreceives input from the user and output data. The display interface 1130is any device that may be configured to output graphics and data to adisplay. In one example, the display interface 1130 is a graphicsadapter.

It will be appreciated by those skilled in the art that the hardwareelements of the digital device 1100 are not limited to those depicted inFIG. 11. A digital device 1100 may comprise more or less hardwareelements than those depicted. Further, hardware elements may sharefunctionality and still be within various embodiments described herein.In one example, encoding and/or decoding may be performed by theprocessor 1105 and/or a co-processor located on a GPU.

The above-described functions and components may be comprised ofinstructions that are stored on a storage medium such as a computerreadable medium. The instructions may be retrieved and executed by aprocessor. Some examples of instructions are software, program code, andfirmware. Some examples of storage medium are memory devices, tape,disks, integrated circuits, and servers. The instructions areoperational when executed by the processor to direct the processor tooperate in accord with some embodiments. Those skilled in the art arefamiliar with instructions, processor(s), and storage medium.

For purposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of the description. It will beapparent, however, to one skilled in the art that embodiments of thedisclosure can be practiced without these specific details. In someinstances, modules, structures, processes, features, and devices areshown in block diagram form in order to avoid obscuring the description.In other instances, functional block diagrams and flow diagrams areshown to represent data and logic flows. The components of blockdiagrams and flow diagrams (e.g., modules, blocks, structures, devices,features, etc.) may be variously combined, separated, removed,reordered, and replaced in a manner other than as expressly describedand depicted herein.

Reference in this specification to “one embodiment”, “an embodiment”,“some embodiments”, “various embodiments”, “certain embodiments”, “otherembodiments”, “one series of embodiments”, or the like means that aparticular feature, design, structure, or characteristic described inconnection with the embodiment is included in at least one embodiment ofthe disclosure. The appearances of, for example, the phrase “in oneembodiment” or “in an embodiment” in various places in the specificationare not necessarily all referring to the same embodiment, nor areseparate or alternative embodiments mutually exclusive of otherembodiments. Moreover, whether or not there is express reference to an“embodiment” or the like, various features are described, which may bevariously combined and included in some embodiments, but also variouslyomitted in other embodiments. Similarly, various features are describedthat may be preferences or requirements for some embodiments, but notother embodiments.

The language used herein has been principally selected for readabilityand instructional purposes, and it may not have been selected todelineate or circumscribe the inventive subject matter. It is thereforeintended that the scope be limited not by this detailed description, butrather by any claims that issue on an application based hereon.Accordingly, the disclosure of the embodiments is intended to beillustrative, but not limiting, of the scope, which is set forth in thefollowing claims.

What is claimed is:
 1. A system comprising: a trigger creation moduleconfigured to provide a set of one or more trigger conditions,satisfaction of each trigger condition being based on sensor data to bereceived; a sensor data module configured to receive actual sensor datafrom one or more sensors, the actual sensor data being generatedsubstantially contemporaneously with recording of an activity; and atrigger satisfaction module configured to determine whether at least onetrigger condition of the set of trigger conditions has been satisfiedbased on the actual sensor data, and to identify a potentiallyinteresting event within the recording of the activity based on thesatisfied at least one trigger condition.
 2. The system of claim 1,wherein the trigger satisfaction module is configured to compare theactual sensor data to at least one sensor data threshold associated withthe at least one trigger condition of the set of trigger conditions. 3.The system of claim 1, further comprising a tagging module configured totag a portion of the recording associated with the potentiallyinteresting event.
 4. The system of claim 1, further comprising a sensorconfiguration module configured to activate the one or more sensors inresponse to the trigger creation module providing the set of the one ormore trigger conditions.
 5. The system of claim 1, further comprising acontext identification module configured to identify a context, wherein:the trigger creation module is configured to identify the set of one ormore trigger conditions from a plurality of trigger conditions based atleast in part on the context.
 6. The system of claim 1, wherein thetrigger satisfaction module is configured to determine whether the atleast one trigger condition has been satisfied based on actual recordingmetadata.
 7. The system of claim 6, wherein the actual recordingmetadata comprises a pixel count of at least a portion of the recordingof the activity.
 8. The system of claim 1, wherein the sensor data to bereceived comprises one or more of: Global Positioning System (GPS)sensor data, compass data, accelerometer data, gyroscope data, biometricsensor data, thermometer data, pressure sensor data, RF data, Geigercounter data, and telemetry sensor data.
 9. The system of claim 1,wherein the one or more sensors are incorporated into a mobile phone.10. The system of claim 9, wherein the mobile phone is wirelesslycoupled to an activity recording device configured to take the recordingof the activity.
 11. A method comprising: providing a trigger includingset of one or more trigger conditions, satisfaction of each triggercondition being based on sensor data to be received; receiving actualsensor data from one or more sensors, the actual sensor data beinggenerated substantially contemporaneously with recording of an activity;determining whether at least one trigger condition of the set of triggerconditions has been satisfied based on the actual sensor data; andidentifying a potentially interesting event within the recording of theactivity based on the satisfied at least one trigger condition.
 12. Themethod of claim 11, wherein determining whether the trigger has beensatisfied comprises comparing the actual sensor data to at least onesensor data threshold associated with the at least one trigger conditionof the set of trigger conditions.
 13. The method of claim 11, furthercomprising tagging a portion of the recording associated with thepotentially interesting event.
 14. The method of claim 11, furthercomprising activating the one or more sensors in response to the triggercreation module providing the set of the one or more trigger conditions.15. The method of claim 11, further comprising identifying a context;wherein: the set of one or more trigger conditions is identified from aplurality of trigger conditions based at least in part on the context.16. The method of claim 11, wherein determining whether the at least onetrigger condition has been satisfied is based on actual recordingmetadata.
 17. The method of claim 16, wherein the actual recordingmetadata comprises a pixel count of at least a portion of the recordingof the activity.
 18. The method of claim 11, wherein the sensor data tobe received comprises one or more of: Global Positioning System (GPS)sensor data, compass data, accelerometer data, gyroscope data, biometricsensor data, thermometer data, pressure sensor data, RF data, Geigercounter data, and telemetry sensor data.
 19. The method of claim 11,wherein the one or more sensors are incorporated into a mobile phone.20. The method of claim 19, wherein the mobile phone is wirelesslycoupled to an activity recording device configured to take the recordingof the activity.
 21. A system comprising: means for providing a set ofone or more trigger conditions, satisfaction of each trigger conditionbeing based on sensor data to be received; means for receiving actualsensor data from one or more sensors, the actual sensor data beinggenerated substantially contemporaneously with recording of an activity;means for determining whether at least one trigger condition of the setof trigger conditions has been satisfied based on the actual sensordata; and means for identifying a potentially interesting event withinthe recording of the activity based on the satisfied at least onetrigger condition.